home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
17 Bit Software 3: The Continuation
/
17-Bit_The_Continuation_Disc.iso
/
amigan
/
amigan 2
/
hackiconii_source
/
gadgets.c
< prev
next >
Wrap
C/C++ Source or Header
|
1994-01-27
|
7KB
|
182 lines
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\
* |_o_o|\\ Copyright (c) 1987 The Software Distillery. All Rights Reserved *
* |. o.| || Written by Doug Walker *
* | . | || The Software Distillery *
* | o | || 235 Trillingham Lane *
* | . |// Cary, NC 27511 *
* ====== BBS:(919)-471-6436 *
\* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#include <exec/types.h>
#include <intuition/intuition.h>
#include "hackicon.h"
struct Image colimage[CTSIZ] = { /* Imagery for color selection gadgets */
{0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,0,NULL },
{0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,1,NULL },
{0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,2,NULL },
{0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,3,NULL },
{0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,4,NULL },
{0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,5,NULL },
{0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,6,NULL },
{0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,7,NULL },
{0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,8,NULL },
{0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,9,NULL },
{0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,10,NULL},
{0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,11,NULL},
{0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,12,NULL},
{0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,13,NULL},
{0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,14,NULL},
{0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,15,NULL}
};
struct Gadget colgads[16] = {
{ &colgads[1], PLXLEFT, PLYTOP, PLXWIDTH, PLYHEIGHT,
GADGHBOX | GADGIMAGE, RELVERIFY,
BOOLGADGET, (APTR)&colimage[0], NULL,NULL,NULL,NULL, 0, NULL
},
{ &colgads[2], PLXLEFT,PLYTOP+PLYHEIGHT, PLXWIDTH, PLYHEIGHT,
GADGHBOX | GADGIMAGE, RELVERIFY,
BOOLGADGET, (APTR)&colimage[1], NULL,NULL,NULL,NULL, 1, NULL
},
{ &colgads[3], PLXLEFT,PLYTOP+PLYHEIGHT*2, PLXWIDTH, PLYHEIGHT,
GADGHBOX | GADGIMAGE, RELVERIFY,
BOOLGADGET, (APTR)&colimage[2], NULL,NULL,NULL,NULL, 2, NULL
},
{ &colgads[4], PLXLEFT,PLYTOP+PLYHEIGHT*3, PLXWIDTH, PLYHEIGHT,
GADGHBOX | GADGIMAGE, RELVERIFY,
BOOLGADGET, (APTR)&colimage[3], NULL,NULL,NULL,NULL, 3, NULL
},
{ &colgads[5], PLXLEFT,PLYTOP+PLYHEIGHT*4, PLXWIDTH, PLYHEIGHT,
GADGHBOX | GADGIMAGE, RELVERIFY,
BOOLGADGET, (APTR)&colimage[4], NULL,NULL,NULL,NULL, 4, NULL
},
{ &colgads[6], PLXLEFT,PLYTOP+PLYHEIGHT*5, PLXWIDTH, PLYHEIGHT,
GADGHBOX | GADGIMAGE, RELVERIFY,
BOOLGADGET, (APTR)&colimage[5], NULL,NULL,NULL,NULL, 5, NULL
},
{ &colgads[7], PLXLEFT,PLYTOP+PLYHEIGHT*6, PLXWIDTH, PLYHEIGHT,
GADGHBOX | GADGIMAGE, RELVERIFY,
BOOLGADGET, (APTR)&colimage[6], NULL,NULL,NULL,NULL, 6, NULL
},
{ NULL, PLXLEFT, PLYTOP+PLYHEIGHT*7, PLXWIDTH, PLYHEIGHT,
GADGHBOX | GADGIMAGE, RELVERIFY,
BOOLGADGET, (APTR)&colimage[7], NULL,NULL,NULL,NULL, 7, NULL
},
/*
* The following are defined in case the user selects 16-color mode.
* If so, simply set colgads[7].NextGadget = &colgads[8] and all will be well.
*/
{ &colgads[9], PLXLEFT+PLXWIDTH+5,PLYTOP, PLXWIDTH, PLYHEIGHT,
GADGHBOX | GADGIMAGE, RELVERIFY,
BOOLGADGET, (APTR)&colimage[8], NULL,NULL,NULL,NULL, 8, NULL
},
{ &colgads[10],PLXLEFT+PLXWIDTH+5,PLYTOP+PLYHEIGHT, PLXWIDTH, PLYHEIGHT,
GADGHBOX | GADGIMAGE, RELVERIFY,
BOOLGADGET, (APTR)&colimage[9], NULL,NULL,NULL,NULL, 9, NULL
},
{ &colgads[11],PLXLEFT+PLXWIDTH+5,PLYTOP+PLYHEIGHT*2, PLXWIDTH, PLYHEIGHT,
GADGHBOX | GADGIMAGE, RELVERIFY,
BOOLGADGET, (APTR)&colimage[10], NULL,NULL,NULL,NULL, 10, NULL
},
{ &colgads[12],PLXLEFT+PLXWIDTH+5,PLYTOP+PLYHEIGHT*3, PLXWIDTH, PLYHEIGHT,
GADGHBOX | GADGIMAGE, RELVERIFY,
BOOLGADGET, (APTR)&colimage[11], NULL,NULL,NULL,NULL, 11, NULL
},
{ &colgads[13],PLXLEFT+PLXWIDTH+5,PLYTOP+PLYHEIGHT*4, PLXWIDTH, PLYHEIGHT,
GADGHBOX | GADGIMAGE, RELVERIFY,
BOOLGADGET, (APTR)&colimage[12], NULL,NULL,NULL,NULL, 12, NULL
},
{ &colgads[14],PLXLEFT+PLXWIDTH+5,PLYTOP+PLYHEIGHT*5, PLXWIDTH, PLYHEIGHT,
GADGHBOX | GADGIMAGE, RELVERIFY,
BOOLGADGET, (APTR)&colimage[13], NULL,NULL,NULL,NULL, 13, NULL
},
{ &colgads[15],PLXLEFT+PLXWIDTH+5,PLYTOP+PLYHEIGHT*6,PLXWIDTH, PLYHEIGHT,
GADGHBOX | GADGIMAGE, RELVERIFY,
BOOLGADGET, (APTR)&colimage[14], NULL,NULL,NULL,NULL, 14, NULL
},
{ NULL ,PLXLEFT+PLXWIDTH+5,PLYTOP+PLYHEIGHT*7,PLXWIDTH, PLYHEIGHT-2,
GADGHBOX | GADGIMAGE, RELVERIFY,
BOOLGADGET, (APTR)&colimage[15], NULL,NULL,NULL,NULL, 15, NULL
},
};
struct IntuiText rtxt = {2,2,JAM1,-9,2,NULL,(UBYTE *)"R",NULL};
struct IntuiText gtxt = {2,2,JAM1,-9,2,NULL,(UBYTE *)"G",NULL};
struct IntuiText btxt = {2,2,JAM1,-9,2,NULL,(UBYTE *)"B",NULL};
struct Image r_img, g_img, b_img;
struct PropInfo r_prop,g_prop,b_prop;
struct Gadget blue_gad = {
colgads, 12, EDYTOP+34, PLXLEFT-16, 11, GADGHCOMP,
RELVERIFY|GADGIMMEDIATE|FOLLOWMOUSE, PROPGADGET,(APTR)&b_img, NULL,
&btxt, NULL,(APTR)&b_prop, G_BLUE, NULL };
struct Gadget green_gad = {
&blue_gad, 12,EDYTOP+22, PLXLEFT-16,11, GADGHCOMP,
RELVERIFY|GADGIMMEDIATE | FOLLOWMOUSE, PROPGADGET,(APTR)&g_img, NULL,
>xt, NULL,(APTR)&g_prop, G_GREEN, NULL };
struct Gadget red_gad = {
&green_gad, 12, EDYTOP+10, PLXLEFT-16,11, GADGHCOMP,
RELVERIFY|GADGIMMEDIATE | FOLLOWMOUSE, PROPGADGET,(APTR)&r_img, NULL,
&rtxt, NULL,(APTR)&r_prop, G_RED, NULL };
struct IntuiText Load_text = {0,2,JAM1,3,20,NULL,
(UBYTE *)"Enter a file name to load:",NULL};
struct IntuiText Save_text = {0,2,JAM1,3,20,NULL,
(UBYTE *)"Enter a file name to save:",NULL};
struct IntuiText ok_text = {0,2,JAM1,22,2,NULL,(UBYTE *)"OK",NULL};
struct IntuiText cancel_text = {0,2,JAM1,6,2,NULL,(UBYTE *)"Cancel",NULL};
char TextBuffer[100] = "characters";
struct StringInfo Req_Info= {
TextBuffer, NULL, 0, 100, 0, 0, 0, 0, 0, 0, NULL, 0L, NULL
};
struct Gadget Req_gads[] = {
{ &Req_gads[1], 10, 40, 200, 10, GADGHCOMP, 0,
STRGADGET|REQGADGET, NULL, NULL, NULL, 0L, &Req_Info, G_RSTR, NULL
},
{ &Req_gads[2], 10, 60, 60, 10, GADGHCOMP, RELVERIFY|ENDGADGET,
BOOLGADGET|REQGADGET, NULL, NULL, &ok_text, 0L, NULL, G_ROK, NULL
},
{ NULL, 150, 60, 60, 10, GADGHCOMP, RELVERIFY|ENDGADGET,
BOOLGADGET|REQGADGET, NULL, NULL, &cancel_text, 0L, NULL, G_RCANCEL, NULL
},
};
SHORT ReqBordData[] =
{
-2, -2, 62, -2, 62, 11, -2, 11, -2, -2,
-3, -2, 202, -2, 202, 9, -3, 9, -3, -2,
2, 2, 218, 2, 218, 88, 2, 88, 2, 2
};
struct Border Req_Bords[] = {
{ 10, 60, 0, 2, JAM1, 5, ReqBordData, &Req_Bords[1] },
{ 150, 60, 0, 2, JAM1, 5, ReqBordData, &Req_Bords[2] },
{ 10, 40, 0, 2, JAM1, 5, &ReqBordData[10], &Req_Bords[3] },
{ 0, 0, 0, 2, JAM1, 5, &ReqBordData[20], NULL },
};
struct Requester NameRequester;
SHORT BorderData[] =
{
0, 0, EDWIDTH+3, 0, EDWIDTH+3, EDHEIGHT+3, 0, EDHEIGHT+3, 0, 0,
0, 0, PLXWIDTH+3, 0, PLXWIDTH+3, 8*PLYHEIGHT+3, 0, 8*PLYHEIGHT+3, 0, 0,
0, 0, PLXWIDTH+1, 0, PLXWIDTH+1, PLYHEIGHT+1, 0, PLYHEIGHT+1, 0, 0,
};
struct Border Borders[] = {
{ EDXLEFT-2, EDYTOP-2, 1, 0, JAM1, 5, BorderData, &Borders[1] },
{ PLXLEFT-2, PLYTOP-2, 1, 0, JAM1, 5, &BorderData[10], NULL },
{ PLXLEFT-1, PLYTOP-1, 1, 0, JAM1, 5, &BorderData[20], NULL },
};